Ejercicio No. 10

 
     
 

Enunciado

Modelar figuras geométricas planas (rectángulos, polígonos y círculos) de manera que podamos trazarlas en un plano y calcular sus áreas y perímetros.

1. Realizar el diagrama de clases del modelo.

2. Implementar dicho modelo.

 
     
 

Solución

Pensando en las tres figuras concretas a modelar tendremos una clase:

1. Rectangulo con tres atributos: la base y la altura (para el cálculo inmediato del área y el perímetro), que serán enteros; la posición (para colocar la figura en el plano), sería un punto del espacio, por lo que hemos de implementar una nueva clase Punto.

2. Poligono con tres atributos: el número de vértices, que será un entero; la posición, que será un Punto; los vértices del polígono (serán los puntos necesarios para trazar la figura en el plano) con referencias a tantos objetos Punto como vértices tenga la figura.

3. Circulo con dos atributos: el radio que será un entero; la posición, que será un Punto.

Como podríamos pensar en añadir a nuestras figuras más atributos para enriquecer el trazado (un contorno con su color, grosor, relleno, sombras, etc…) conviene modelar una clase Figura, de modo que las clases Rectangulo, Poligono y Circulo hereden de ella (pues todas son figuras). De este modo, los métodos necesarios para calcular el área y el perímetro estarían en la clase Figura. Además, como todas las figuras tienen una posición, la clase Figura estará asociada a la clase Punto (con una cardinalidad uno a uno). Por otro lado, la clase Poligono necesita los puntos de los vértices para el trazado, es decir, está asociada con la clase Punto. Para determinar la cardinalidad nos preguntamos:

¿Cuántos vértices tiene un polígono? Tres o más.